import {createApp} from 'vue';
import App from './App.vue';
import router from './router';
import {store, key} from './store';
import {directive} from '/@/utils/directive';
import {i18n} from '/@/i18n/index';
import other from '/@/utils/other';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';
import '/@/theme/index.scss';
import mitt from 'mitt';
import screenShort from 'vue-web-screen-shot';
import VueGridLayout from 'vue-grid-layout';
import Wigem from '/@/components/wigem/index.ts';
import Ld from '/@/components/ld/ld.ts';

import UUID from "vue-uuid";
import 'font-awesome/css/font-awesome.min.css';
import WgDialog from '/@/components/wigem/elementPlus/dialog/dialog'

const app = createApp(App);

directive(app);
other.elSvg(app);

app.use(router)
    .use(store, key)
    .use(ElementPlus, {i18n: i18n.global.t, size: other.globalComponentSize})
    .use(i18n)
    .use(screenShort, {enableWebRtc: false})
    .use(VueGridLayout)
    .use(UUID)
    .use(Ld)
    .use(Wigem)
    .use(WgDialog)

    .mount('#app');
app.config.globalProperties.mittBus = mitt();
app.config.globalProperties.$wigem = Wigem.common